package com.math;

import com.google.common.math.IntMath;
import org.junit.Test;

import java.math.RoundingMode;

public class MathDemo {

    //IntMath
    @Test
    public void test01(){
        //基本运算,只要不溢出,返回结果
        IntMath.checkedAdd(5,10);//求和
        IntMath.checkedMultiply(2,3);//积  6
        IntMath.checkedPow(2,10);// 幂  1024
        //返回相除结果, 可指定四舍五入策略
        IntMath.divide(9,3, RoundingMode.HALF_UP);
        IntMath.factorial(5); //5的阶乘 ,即5*4*3*2*1
        IntMath.gcd(5, 12);  //求最大公约数
        //求对数基数为10的对数x结果
        IntMath.log10(100,RoundingMode.HALF_UP); //2
        IntMath.log2(8,RoundingMode.HALF_UP); // 3
        IntMath.mean(5,5);//求平均值,取整
        //取模运算
        IntMath.mod(7, 5);//2
        // 幂运算
        IntMath.pow(2,10); // 1024, 2的10次幂
        IntMath.sqrt(100,RoundingMode.HALF_UP);//求平方根,四舍五入

    }
}
